#ifndef __SIPGDBODYCHECKER_HPP__
#define __SIPGDBODYCHECKER_HPP__

#include "SipResipConfigure.hpp"
//#include "resip/stack/SipMessage.hxx"

#define SipBodyType(_TYPE) _TYPE

using namespace resip;

namespace wtsip{


class RESIP_PUBLIC ISipBodyAdaptor
{
public:
    CSipGDBodyAdaptor();

    virtual ~CSipGDBodyAdaptor();

    static CSipGDBodyAdaptor::EBodyType getMessageBodyType(SipMessage& msg);

    //////////////////  check SipMessage  ///////////////////////

    static bool isRegAlive(SipMessage& msg);

    static bool isRealAlive(SipMessage& msg);

    //////////////////// check list response ///////////////////

    static bool checkMark(SipMessage& msg, std::string& mark);

    static bool listFileOver(SipMessage& msg);

    static bool listPlanOver(SipMessage& msg);

    //////////////////// create body methdos /////////////////////

    static std::string createRegAliveRequest();

    static std::string createRegAliveResponse();

    static std::string createRealAliveRequest();

    static std::string createRealAliveResponse();

    //static std::string createRegisterBody();

private:

    static const char* s_VarMark[MAXBodyType];

    //CIvsMessage& m_msg;
};


}//namespace



#undef SipBodyType

#endif


